1. Field of Invention
The invention relates to a redundant array of independent disk (RAID) head and, in particular, to a serial-attached SCSI (SAS) RAID head.
2. Related Art
Storage virtualization is a technology of virtualizing physical storage space. Different sections of the physical storage devices (PSDs) are combined into a logical storage entity accessible by a host system. This logical storage entity here is called a logical media unit (LMU). The technology is mainly used in storage virtualization of the redundant array of independent disk (RAID). Using this RAID technology, smaller physical storage devices can be combined into LMUs with a larger capacity, better fault tolerance, and higher efficiency.
A storage virtualization subsystem (SVS) or a RAID subsystem in the field of RAID is a subsystem that implements the above-mentioned storage virtualization technology. It can use an I/O interface to connect to an external host system, forming a storage virtualization system. The primary components in the subsystem include at least a storage virtualization controller (SVC), a plurality of physical storage devices (PSDs), and related devices such as the backplane, power supply, and heat dissipation element.
The SVC is the kernel element for implementing the storage virtualization technology. Sections of the physical storage media are combined and mapped by the SVC to form a LMU visible to a host system. The SVC receives an I/O request sent out by the host system, and analyzes and converts it into the I/O request of the PSD (e.g., a hard disk drive). The data stored in the PSD can thus be used by the host system.
The SVC connected to the host system via an I/O interface is an external (or stand-alone) SVC. It can be connected to an external device of the host system. Generally speaking, the external SVC operates independent of the host.
The external (or stand-alone) direct-access RAID controller is an example of the external SVC. The RAID controller combines sections of one or multiple physical direct access storage devices (DASDs) to form LMUs. How they are combined is determined by the adopted specific RAID level. The LMUs thus formed have continuous addresses for the host system, so that each LMU can be utilized. Typically, a single RAID controller can support various RAID levels. Therefore, different LMUs can be formed by combining various sections of the PSDs using different RAID levels in different ways. The different LMUs thus formed have the properties of the corresponding RAID levels.
Another example of the external SVC is the JBOD emulation controller, which stands for “Just a Bunch of Drives.” It is a set of physical DASDs directly connected to a host system via one or several multiple-device I/O device interconnect channels. As to an intelligent JBOD emulation device, it can be used to emulates several multiple-device I/O device interconnect DASDs by mapping I/O requests to the physical DASDs that are connected to the JBOD emulation device individually via I/O device interconnect channels.
The primary functions of the SVC are to manage, combine, and manipulate PSDs in such a way as to present them as a set of LMUs to the host. To the host, each of the LMUs is presented as if it were a directly-connected PSD of which the LMU is supposed to be the logical equivalent. In order to accomplish this, I/O requests sent out by the host to be processed by the SVC that will normally generate certain behavior in an equivalent PSD also generate logically equivalent behavior on the related part of the LMU addressed by the SVC. The result is that the host considers it as directly connecting to a PSD and communicating with it, although in fact, the host is connected to the SVC that is simply emulating the behavior of the PSD of which the addressed LMU is the logical equivalent.
The backplane is a printed circuit board (PCB) connected to the SVC for providing power and communication links. It also has non-volatile storage media and other passive components. Another function of the backplane is to fix the relative positions of devices such as the SVC in the enclosure.
In general, the SVC, the PSD (e.g., a hard disk drive), and such devices as the backplane, power supply, and heat dissipation element are integrated in an enclosure, forming an independent SVS. According to different needs, there can be different numbers of SVCs and PSDs (e.g., hard disk drives) inside the enclosure. For example, a storage virtualization subsystem configured with a single SVC is a simple and cost-effective design; however, it does not have the capability of fault tolerance. That is, when one controller malfunctions, no backup controller can take over its jobs (called “failover”) so that the storage virtualization subsystem can continue its normal operations. Therefore, it is common to configure two SVCs to form a SVC pair, thereby achieving the function of fault tolerance. Besides, the storage virtualization subsystems on the market also provide several options in the number of PSDs (e.g., hard disk drives), depending upon the storage capacity, size, and cost. For example, when more PSDs are equipped in the enclosure, it means that the storage virtualization subsystem can provide a larger storage capacity, along with the drawbacks of a larger size and a higher cost. On the other hand, having fewer PSDs (e.g., hard disk drives) can reduce the size of the enclosure and lower the cost. Of course, the storage space is relatively less in this case.
The exterior of the enclosure of the storage virtualization subsystem is provided with one to several interconnect ports. According to different objects of connection, their configurations can be set in the target mode or initial mode, thereby respectively connecting to the host or other external devices (e.g., another storage virtualization subsystem or JBOD). The number of the interconnect ports and their configurations on the enclosure of a storage virtualization subsystem are usually already determined according to different requirements before leaving the factory.
In order for the connection topology to be more flexible among the components of the SVC(s), the PSDs and the host of the storage virtualization system, a RAID head device is invented. In comparison with the storage virtualization subsystem, the RAID head is not built in with PSDs (e.g., hard disk drives). It only provides the SVC(s) for processing signals and the interconnect ports for connecting with external devices, in addition to other relative components such as a power supply and cooling modules. The RAID head can be said to be a connection head with computational ability, forming a bridge between the host and the PSDs.
Conventionally, the usual storage virtualization uses the parallel small computer system interface (P-SCSI) or fibre channel (FC) as the primary device-side I/O device interconnect, thereby connecting the PSDs to the SVC(s). Currently, there are RAID heads whose device sides are the FC.
The P-SCSI and the FC both are multiple-device I/O device interconnects. The bandwidth of such a multiple-device I/O device interconnect is shared by all hosts and all devices that they connect to. The multiple-device I/O device interconnect has the following drawback. If one device linked to the multiple-device interconnect fails or malfunctions, it may interfere with the connection and/or data transmissions between the host and the other devices which use the same interconnect. The fibre channel arbitrated loop (FC-AL) can practically reduce the above-mentioned worry to a certain extent because it provides a double-track redundant connection. The double-track redundant connection provides two channels for each device in case one of them is broken or blocked. However, such a design is still inferior in that each storage device has its own dedicated connection. This is because if the two channels independently fail, then both connections still cannot take effect. On the other hand, if dedicated connections are used, then it can be guaranteed that the signal integrity among the connections has its complete independence. In this case, if one of the devices is damaged, the others will not be affected.
Therefore, a dedicated point-to-point (P2P) I/O device interconnect called the serial attached SCSI (SAS) is developed. It can solve the above-mentioned intrinsic problem of the multiple-device I/O device interconnect, and provide a fast transmission speed. The SAS utilizes the verified advantages of the P-SCSI (its stable reliability as well as ample and mature command sets). Moreover, it uses a new serial structure to achieve an amazing transmission volume (3.0 Gbits/sec, 6.0 Gbits/sec, or more) and significant extensibility (up to 16384 devices using expander devices).
It is thus seen that a RAID head using SAS as its primary device-side I/O device interface has its importance in practice.